package com.example.jpa.service;

import com.example.jpa.entity.Asset;
import com.example.jpa.dao.AssetDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.UUID;

@Service
@Transactional("jpaTransactionManager")  // 使用 JPA 事务管理器
public class AssetService {

    @Autowired
    private AssetDao assetDao;

    /**
     * 查询所有资产
     */
    public List<Asset> listAllAssets() {
        return assetDao.findAll();
    }

    /**
     * 根据 ID 获取资产
     */
    public Asset getAssetById(UUID id) {
        return assetDao.findById(id);
    }

    /**
     * 根据租户 ID 查询资产
     */
    public List<Asset> listAssetsByTenantId(UUID tenantId) {
        return assetDao.findByTenantId(tenantId);
    }

    /**
     * 分页查询资产
     */
    public List<Asset> listAssetsByPage(int pageNum, int pageSize) {
        int offset = (pageNum - 1) * pageSize;
        return assetDao.findByPage(offset, pageSize);
    }
}
